Flutter system_theme
system_theme
是一个 Flutter 插件,用于获取当前系统主题信息。
支持的平台:Android 10+、iOS、Web、MacOS 10.4+、Windows 10+ 和 XBox、Linux GTK 3+。
获取系统强调色
final accentColor = SystemTheme.accentColor.accent;
重新加载强调色
await SystemTheme.accentColor.load();
在运行应用之前加载颜色
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SystemTheme.accentColor.load();
runApp(MyApp());
}
配置备用强调色
void main() async {
WidgetsFlutterBinding.ensureInitialized();
SystemTheme.fallbackColor = const Color(0xFF865432);
await SystemTheme.accentColor.load();
runApp(MyApp());
}
监听系统强调色的变化
SystemTheme.onChange.listen((event) {
debugPrint('Accent color changed to ${event.accentColor}');
});
builder 组件
使用 SystemThemeBuilder
小部件监听系统强调色的变化
SystemThemeBuilder(builder: (context, accent) {
return ColoredBox(color: accent.accentColor);
});
检查是否支持强调色
import 'package:flutter/foundation.dart' show defaultTargetPlatform;
void main() {
final supported = defaultTargetPlatform.supportsAccentColor;
print('Accent color is: ${supported ? 'supported' : 'not supported'} on the current platform');
}
本文作者:Maeiee
本文链接:Flutter system_theme
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!